template< class x0, class x1 >
struct intTree{
typedef intTree<x0, x1>  value;
};

template< class x0 >
struct Leaf{
typedef Leaf<x0>  value;
};
